// -*- c++ -*-
/**************************************************************/
/*  This file is licensed from, and is a trade secret of:     */
/*                                                            */
/*    Mercury Computer Systems, Incorporated                  */
/*    199 Riverneck Road                                      */
/*    Chelmsford, Massachusetts 01824-2820                    */
/*    United States of America                                */
/*    Telephone + 1 978 256-1300                              */
/*                                                            */
/*  Refer to your Software License Agreement for provisions   */
/*  on use, duplication, or disclosure.                       */
/*  US. Government users and prime contractors are also       */
/*  governed by the following Data Rights Notice:             */
/*  Use, duplication or disclosure by the US. Government is   */
/*  subject to the provisions set forth in FAR 52.227-14 for  */
/*  restricted rights or other agency data rights provisions  */
/*  on commercial software and documentation, as applicable.  */
/*                                                            */
/*  This file: (a) was developed at private expense, and no   */
/*  part was developed with government funds, (b) is a        */
/*  trade secret of Mercury Computer Systems, Inc. for the    */
/*  purposes of the Freedom of Information Act, (c) is        */
/*  "commercial computer software" subject to limited         */
/*  utilization as provided in the above noted Software       */
/*  License Agreement and (d) is in all respects data         */
/*  belonging exclusively to Mercury Computer Systems, Inc..  */
/*                                                            */
/**************************************************************/

/******************************************************************/
/* Copyright (c) 1999-2003, Mercury Computer Systems, Inc.,       */
/* Chelmsford MA.,and all third party embedded software sources.  */
/* All rights reserved under the Copyright laws of US. and        */
/* international treaties.                                        */
/*                                                                */
/* Patent Pending                                                 */
/******************************************************************/


//$COPYRIGHT_END


#ifndef BASE_ASSEMBLY_CONTROLLER_PROPERTY_MAPPING_DATA_BASE_H__
#define BASE_ASSEMBLY_CONTROLLER_PROPERTY_MAPPING_DATA_BASE_H__

/*
 * List of components and the property mappings for each component.
 * The base assembly Controller has no config properties.
 */

struct property_mapping {
  const char * component_prop_id;
  const char * assembly_prop_id;
};

struct component_prop_mapping_ {
  const char * component_id;
  struct property_mapping prop_map;
};

typedef struct component_prop_mapping_ component_prop_mapping;

/*
 * Note, in the following tables, the component IDs must match up with
 * the component instance IDs from the sad file, and the property ids
 * must match up with the property IDs from the component .prf.xml
 * file and the assembly controller .prf.xml file.
 */

static component_prop_mapping component_property_mappings [] = {
  // Example:
  // "DCE:SAD Component Instantiation ID", 
  //   {"DCE:Property ID from component prf file", 
  //    "DCE:Property ID from assembly controller prf file"} },

  // fm3trEncoderExecutable, Operational_Mode, audio waveform
  { "DCE:52b98442-12ea-48c0-83e6-0bd442a8fdc1", 
    {"DCE:6a26cad0-bf4d-4006-aabe-01e1181e47d7", 
     "DCE:30648cd0-4735-425f-a8e9-0c5ff18f29c0"} },
  // fm3trEncoderExecutable, Operational_Mode, data mode waveform
  { "DCE:50e9efd9-3737-4438-b84e-d1d99cd4d41f", 
    {"DCE:6a26cad0-bf4d-4006-aabe-01e1181e47d7", 
     "DCE:30648cd0-4735-425f-a8e9-0c5ff18f29c0"} },

  // fm3trEncoderExecutable, LLC_Control_Disable, audio waveform
  { "DCE:52b98442-12ea-48c0-83e6-0bd442a8fdc1", 
    {"DCE:ec0146b9-f3fb-4e67-ad08-551466ce5b0f", 
     "DCE:cd0cd49b-55aa-47df-a15e-7d59d5331ef3"} },
  // fm3trEncoderExecutable, LLC_Control_Disable, data mode waveform
  { "DCE:50e9efd9-3737-4438-b84e-d1d99cd4d41f", 
    {"DCE:ec0146b9-f3fb-4e67-ad08-551466ce5b0f", 
     "DCE:cd0cd49b-55aa-47df-a15e-7d59d5331ef3"} },


  // fm3trDecoderExecutable, HighWaterMarkSet, audio waveform
  { "DCE:a9d932b9-84ad-4c3d-8a36-8a66b6752733", 
    {"DCE:d5314efc-92ad-47d1-b001-5e07a35303b0", 
     "DCE:508de158-eb2f-47b0-8cfa-6827494d797a"} },

  // fm3trDecoderExecutable, HighWaterMarkSet, data mode waveform
  { "DCE:bd325e7d-408e-4abe-86da-577d30c124db", 
    {"DCE:d5314efc-92ad-47d1-b001-5e07a35303b0", 
     "DCE:508de158-eb2f-47b0-8cfa-6827494d797a"} },

  // RfChannelEmulatorExecutable, Noise_Power_dB
  { "DCE:c9984f4e-6021-4d08-a133-6393c5a4d19d", 
    { "DCE:4214f7ec-0351-4b2a-97a2-d2d5789dffae", 
      "DCE:0bd56d81-135f-42b0-9d0b-1880eeacc335" } },

  //FileOutput_MAC_LLC_Executable, Output_File_Name
  { "DCE:0d56ee23-1eec-4e06-9b10-71d27927b9c4", 
    { "DCE:f8e17e88-4347-442b-9841-fd1c3b58757b", 
      "DCE:763b386b-07ea-45dc-8035-cb62531e4967"} },

  //FileOutput_MAC_LLC_Executable, Output_File_Type
  { "DCE:0d56ee23-1eec-4e06-9b10-71d27927b9c4", 
    { "DCE:b427c15b-8717-43d6-b9d7-ad325dfa9d70", 
      "DCE:be5007e7-3c3a-44d5-824c-380c358e3154"} },

  //FileInput_MAC_LLC_Executable, Input_File_Name
  { "DCE:864c638f-b5c6-4162-a051-1734a9ae567f", 
    { "DCE:6bd274cb-4810-42a8-89ed-0f573935e0a9", 
      "DCE:2f534d73-2e99-4b55-ac6f-0de0c339a604"} },

  //FileInput_MAC_LLC_Executable, Input_Data_Type
  { "DCE:864c638f-b5c6-4162-a051-1734a9ae567f", 
    { "DCE:b0b829f3-649d-4717-bcde-80a599539a32", 
      "DCE:7c7b3b5c-ada9-41ad-9a05-c7c58e3c9afa"} },

  //FileInput_MAC_LLC_Executable, Num_Data_Elements
  { "DCE:864c638f-b5c6-4162-a051-1734a9ae567f", 
    { "DCE:5b715020-4f18-42d3-95c3-9af574bd6f58", 
      "DCE:741f0365-d4f2-49c3-909a-32fdc9291345"} }

  // The audio_playback_executable component has no config properties.
  // The audio_capture_executable component has no config properties.
  // The cvsd_encoder_executable component has no config properties.
  // The cvsd_decoder_executable component has no config properties.
  // The msk_modulator_executable component has no config properties.
  // The msk_demodulator_executable component has no config properties.
};

#endif // BASE_ASSEMBLY_CONTROLLER_PROPERTY_MAPPING_DATA_BASE_H__
